

package controller;



import bo.BUS_ChiTietHoaDon;
import bo.BUS_HoaDon;
import com.opensymphony.xwork2.ActionSupport;
import dto.DTO_ChiTietHoaDon;
import dto.DTO_GioHang;
import dto.DTO_HoaDon;
import dto.DTO_KhachHang;
import dto.DTO_SanPham;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.SessionAware;





public class ThanhToanAction extends ActionSupport implements  SessionAware{


       private Map session;
       private String ngaygiao;
       private String diachi;

    public String getDiachi() {
        return diachi;
    }

    public void setDiachi(String diachi) {
        this.diachi = diachi;
    }

    public String getNgaygiao() {
        return ngaygiao;
    }

    public void setNgaygiao(String ngaygiao) {
        this.ngaygiao = ngaygiao;
    }
       

    public ThanhToanAction() {

    }



    public String execute() throws Exception {
        String str = "success";
        if(ngaygiao.equals(""))
        {
            addActionError("Vui lòng nhập ngày bạn muốn giao hàng");
            str = "error";
        }
        if(diachi.equals(""))
        {
            addActionError("Vui lòng địa chỉ bạn muốn giao hàng");
            str = "error";

        }
        if(str.equals("success"))
        {
           //lấy ngày hiện tại của hệ thống
            SimpleDateFormat today = new SimpleDateFormat("yyyy/MM/dd");
            String ngayLapHD = today.format(new Date());

            //lay thong tin ve  MaKH tu session("KhachHang")
            DTO_KhachHang dtoKH = new DTO_KhachHang();
            dtoKH = (DTO_KhachHang)session.get("KhachHang");
            //tao doi tuong HoaDon de nhan thong tin truyen vao tu trang jsp
            DTO_HoaDon dtoHD = new DTO_HoaDon();
            dtoHD.setMaKH(dtoKH.getMaKH());
            dtoHD.setNgayLapHD(ngayLapHD);
            dtoHD.setNgayGiaoHang(ngaygiao);
            dtoHD.setDiachiGiaoHang(diachi);
            //đẩy dữ liệu xuống bảng HoaDon
            BUS_HoaDon busHD = new BUS_HoaDon();
            busHD.themHD(dtoHD);
            //đổ dữ liệu xuống chitiet hoadon
            //lấy dữ liệu từ giỏ hàng session["GioHang"]
            DTO_GioHang dtoGioHang = (DTO_GioHang)session.get("GioHang");
            int MaHD = busHD.layMaHD(dtoKH.getMaKH());

            BUS_ChiTietHoaDon busCTHD = new BUS_ChiTietHoaDon();
            for(DTO_SanPham sp: dtoGioHang)
            {
                 DTO_ChiTietHoaDon dtoCTHD = new DTO_ChiTietHoaDon();
                 dtoCTHD.setMaHD(MaHD);
                 dtoCTHD.setMaSP(sp.getMaSP());
                 dtoCTHD.setSoLuong(sp.getSoLuong());
                 //thêm vào CSDL
                 busCTHD.themChiTietHD(dtoCTHD);
            }
            session.put("GioHang",null);
            session.put("TongSP",null);
            session.put("TongTien",null);
        }
        return str;

    }

   
    @Override
    public void setSession(Map map) {
        session = map;
    }



}